Computers compatible with the IBM/PC-AT computer typically have one or more flexible disk drives being controlled by a flexible disk controller circuit. It is common to also have a tape back-up device being controlled by the flexible disk controller. To the computer hardware and software, these tape devices appear to be flexible disk drives with a very large data capacity. To make this electronic compatibility possible, these tape drives must produce certain signals required by the flexible disk controllers. In particular, one signal required by some flexible disk controllers is a pulse which occurs once per revolution of a flexible disk.
5.25 inch flexible disks have a punched hole in the disk called an index hole. This hole is sensed by an optical sensor in the flexible disk drive. As the disk spins, each time the index hole is sensed a pulse (called an INDEX PULSE) is sent from the drive to the flexible disk controller. 3.5 inch flexible disks do not have a punched index hole but the drives generate an INDEX PULSE once each revolution of the disk.
Flexible disks are formatted in concentric tracks, each track being formatted into sectors. When a flexible disk is formatted by a flexible disk drive, each INDEX PULSE from the drive initiates formatting of a track by the controller. When reading a disk, the controller uses the INDEX PULSE as a signal to indicate the beginning of a track. In addition, the INDEX PULSE signal is used for timing cues by the controller and may also be used by the controller for other purposes when interacting with the host computer.
Tapes formatted for use with flexible disk controllers have longitudinal tracks which may be hundreds of feet long. Such tapes typically have tracks which are formatted into blocks of sectors called segments. The tape drives create an INDEX PULSE at the beginning of each segment so that to the controller, tape segments appear to be functionally equivalent to flexible disk tracks. During formatting, tape drives may generate INDEX PULSES by counting motor tachometer pulses which directly correlate to distance. However, after a tape is interchanged between drives or is rewritten with motor speed variations, tachometer pulses or tape motor revolutions will not correspond to segments. Therefore, when reading or writing data, tape drives typically monitor the magnetic data signals from the tape and generate INDEX PULSES based on those data signals.
Formatted sectors for both flexible disks and tapes contain certain sector fields (for example, sector identification numbers) which are written once when the medium is formatted and are never rewritten. Formatted sectors also have other fields such as data fields which are rewritten each time the data is changed. Rewritten fields always have a fixed number of bytes and are written at a fixed clock frequency (time between adjacent transitions may vary but the overall clock rate is constant). However, tape velocity may vary so that the physical length of a rewritten field depends on tape velocity. To accommodate physical length differences, the formatted fields which are subject to rewriting are separated from other areas by formatted spacer areas called gaps. Gaps are formatted with digitally encoded patterns but the gaps do not contain information. They are used as spacers between areas of information. Each formatted tape segment starts with a gap pattern. In addition, there are spaces between tape segments which are erased.
For an example of a standard tape format which is compatible with flexible disk controllers, see the QIC-80 Development Standard entitled Flexible-Disk-Controller-Compatible Recording Format For Information Interchange, available from Quarter-Inch Cartridge Drive Standards, Inc., 311 East Carrillo Street, Santa Barbara, Calif. 93101. For an example of an interface signal specification which includes specifications for the INDEX PULSE, see the QIC-117 Development Standard entitled Common Command Set Interface Specification For Flexible Disk Controller Based Minicartridge Tape Drives, also available from Quarter-Inch Cartridge Drive Standards, Inc.
Tape drives typically periodically monitor a counter to determine if an erased area is present. For example, in a typical drive, the drive processor is periodically interrupted by a tachometer signal from the motor control circuitry. The period of the tachometer signal is proportional to distance on the tape. An external counter counts digital encoded data pulses being read from the tape. When the interrupt is serviced, the counter is read and then cleared. If the data count is zero for several samples, the drive assumes the head is in an erased space between segments. Then, if a non-zero data count is detected after an assumed erased space, an INDEX PULSE is generated. Since the index generation is based on sampling a counter at discrete periodic sample times, the INDEX PULSE is generated with a variable distance relative to the beginning of a segment. This method is adequate for low bit densities. However, depending on the counter sampling rate, for higher bit densities such a method may generate an INDEX PULSE after sector information begins. This creates an error in the controller. Some solutions to that problem result in occasional segments without any INDEX PULSE. Therefore, a better method of generating an INDEX PULSE is needed which continuously monitors the data signal so that an INDEX PULSE can be generated precisely at the beginning of every segment and before any data.
In addition, noise between segments or at the end of the tape may trigger a false INDEX PULSE. There is a need to mask out noise so that INDEX PULSES are only generated by the beginning of valid data signals.